(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 12.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       158,          7]
NotebookDataLength[     69941,       1468]
NotebookOptionsPosition[     64301,       1364]
NotebookOutlinePosition[     64648,       1379]
CellTagsIndexPosition[     64605,       1376]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell["build/load", "Subsubsection",
 CellChangeTimes->{{3.754330155083783*^9, 
  3.7543301589148045`*^9}},ExpressionUUID->"a4eb0c1c-2033-4be6-9253-\
3084e64890f6"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"BuildCompilerLibraries", "[", 
  "\"\<D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\Compiler\>\"", 
  "]"}]], "Input",
 CellChangeTimes->{{3.754326807510855*^9, 3.754326807512855*^9}},
 CellLabel->"In[7]:=",ExpressionUUID->"ab665732-c6be-442c-9ce4-df5828719298"],

Cell[CellGroupData[{

Cell[BoxData["\<\"D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\\
Compiler\\\\Source\\\\Collatz.wl\"\>"], "Echo",
 CellChangeTimes->{
  3.754393482620284*^9},ExpressionUUID->"99170153-22d2-4aee-985d-\
317ca1b8e43a"],

Cell[BoxData["\<\"D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\\
Compiler\\\\Source\\\\FibonacciNumber.wl\"\>"], "Echo",
 CellChangeTimes->{
  3.75439349010732*^9},ExpressionUUID->"5459d541-f907-4fec-9b66-b88f4463d7d4"],

Cell[BoxData["\<\"D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\\
Compiler\\\\Source\\\\Integer64Identity.wl\"\>"], "Echo",
 CellChangeTimes->{
  3.7543934956843505`*^9},ExpressionUUID->"9fd063f6-c2ae-4383-b377-\
cf868ee562fa"],

Cell[BoxData["\<\"D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\\
Compiler\\\\Source\\\\Mandelbrot.wl\"\>"], "Echo",
 CellChangeTimes->{
  3.754393498409364*^9},ExpressionUUID->"ef3945b7-425d-4f3f-a311-\
dbb919ef6331"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"LoadCompilerLibraries", "[", 
  "\"\<D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\Compiler\>\"", 
  "]"}]], "Input",
 CellChangeTimes->{{3.75432683160398*^9, 3.7543268316059813`*^9}},
 CellLabel->"In[8]:=",ExpressionUUID->"602a1416-fec5-4d45-8bb1-427210bf1ed0"],

Cell[CellGroupData[{

Cell[BoxData["\<\"D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\\
Compiler\\\\Libraries\\\\Windows-x86-64\\\\Collatz.dll\"\>"], "Echo",
 CellChangeTimes->{
  3.75439353513756*^9},ExpressionUUID->"0bd2839e-72de-40f5-ad44-aee4b0eb6547"],

Cell[BoxData["\<\"D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\\
Compiler\\\\Libraries\\\\Windows-x86-64\\\\FibonacciNumber.dll\"\>"], "Echo",
 CellChangeTimes->{
  3.7543935353275576`*^9},ExpressionUUID->"b8d8a8fb-682d-41f7-974e-\
0f2b3483094e"],

Cell[BoxData["\<\"D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\\
Compiler\\\\Libraries\\\\Windows-x86-64\\\\Integer64Identity.dll\"\>"], "Echo",
 CellChangeTimes->{
  3.7543935355135612`*^9},ExpressionUUID->"9a1e394d-c8a1-4fc0-a096-\
4e0a18b96d1e"],

Cell[BoxData["\<\"D:\\\\github\\\\prototypes\\\\Prototypes\\\\Source\\\\\
Compiler\\\\Libraries\\\\Windows-x86-64\\\\Mandelbrot.dll\"\>"], "Echo",
 CellChangeTimes->{
  3.7543935356825624`*^9},ExpressionUUID->"57855327-79e5-4ad1-a865-\
e7fd5b7088cc"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["examples", "Subsubsection",
 CellChangeTimes->{{3.7543301638438234`*^9, 
  3.7543301646838284`*^9}},ExpressionUUID->"176f6b00-cd6f-41bd-a0f9-\
0c2b79560646"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Mandelbrot", "[", 
   RowBox[{"Table", "[", 
    RowBox[{
     RowBox[{"i", "+", 
      RowBox[{"I", "*", "j"}]}], ",", 
     RowBox[{"{", 
      RowBox[{"j", ",", 
       RowBox[{"-", "1"}], ",", "0", ",", "0.005"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"i", ",", 
       RowBox[{"-", "1"}], ",", "0", ",", "0.005"}], "}"}]}], "]"}], "]"}], "//", 
  RowBox[{
   RowBox[{"ArrayPlot", "[", 
    RowBox[{"#", ",", 
     RowBox[{"ColorFunction", "\[Rule]", "\"\<Rainbow\>\""}], ",", 
     RowBox[{"Frame", "\[Rule]", "False"}], ",", 
     RowBox[{"PlotRangePadding", "\[Rule]", "None"}], ",", 
     RowBox[{"ImageSize", "\[Rule]", 
      RowBox[{"{", 
       RowBox[{"201", ",", "201"}], "}"}]}]}], "]"}], "&"}]}]], "Input",
 CellChangeTimes->{{3.7543268352530065`*^9, 3.7543268965933247`*^9}, {
  3.7543269883488054`*^9, 3.7543270756912727`*^9}, {3.754330171535861*^9, 
  3.754330202165002*^9}},
 CellLabel->"In[9]:=",ExpressionUUID->"f032900e-ad74-4f54-82c6-444bf2dcf086"],

Cell[BoxData[
 GraphicsBox[RasterBox[CompressedData["
1:eJzt3X9wleWd93FYEBTB7ohUSyaIdMlCFDdNiUVBriVlAREIYqTZSiUiS5yx
iBFRfIQCseBWMLi2iOTRGspTFIOiE2RLQjQoJBCBxCSCQSDAIefkx6HyUyxb
69NOnz925pmPs5e9b891n/P+ozOd15w5OZxfyfX2e133dTPmTPm3Lp06ddr9
//73l//fvufWf1gwp8P8Zs0/HrhqV6Wpnpn/5X+0VRocx3Ecx3Ecx3Ecx3Ec
x3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ec
x3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ec
x3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ec
x3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx3Ecx93xrrUbBmSE
OkzN+Qld17TuM+kDJydfN+N9c2Hv3HU5GzrMtrFlJ6d+XG2+2JFb2DTwPece
P47jOI7jOI7jOI7jOJ6YPj205NBToah56YHM/OfzDpvBefUVyVt2mR/MT66p
mhE15RXTX/jVgv1mc9r49txOVc49fhzHcRzHcRzHcRzHcTwxPWVfl9GLtkfN
1ZvLr1nUeNys6JPxwrJjH5j8FfPPzToSNZenJbUOSjpqDi0OZ5ZV73bu8eM4
juM4juM4juM4juOJ6WkLq7Jr8zvMrvVXHOlT1GL2nDrRfdbyfbJ3ufb4cRzH
cRzHcRzHcRzH8cT0rePHrEs93WaeO3n/wX6lYTOlsXRBbnad7F2uPX4cx3Ec
x3Ecx3Ecx3E8vr34nsLOp/q1mcoeZ0vyUiImrdNra0eeqzPdLys4kzWw1Twy
MTR0yIyImfNKweO9az6Uvcu1fxeO4ziO4ziO4ziO4zge375x+OhRDYPDpqT4
tugTOyJm710ZrR+tbZCuepdr/y4cx3Ecx3Ecx3Ecx3E8PnxszehNbTlR033j
/JTtu0Pm0eWVOc2Ve0zmwbK83/Y4YbbO+XXSzpqIGT/ph7e+MWy/9IdK54U2
XR8xg55tqDjzUsS8PunuO1pfrnfu34vjOI7jOI7jOI7jOI7Hh3/29KLsEX1b
TPql554sro6YnlO2XZl5stGUHx51e+RPx827Jbu+LC2PmGhW6iezyw9IV/fj
2r8Xx3Ecx3Ecx3Ecx3Ecjw9XnerBlVfOzTp91Px4ZcOKdx6MmF73Dpv5vaxP
pKv7ce3fi+M4juM4juM4juM4jgfLCzLm9BzTFDXjUletXlZwzKwsulg9talG
dqrcXzy2s/JMs/lZ/26t04ZGzO8/7XW+0/jD0ulaOI7jOI7jOI7jOI7juB+u
+tWbG2+f9mL/I+ZCXcuPrgqHzbWXpE95Z16ztav7d+15wHEcx3Ecx3Ecx3Ec
x4Plas6qU921Zx+bdMjkL9lZ/cHqsBncq+RARd1Ra6dr4TiO4ziO4ziO4ziO
43+Lq76ketTssvr29lcPmsL6fklmSNjMrA3NLPr0mLWrOS7Xnh8cx3Ecx3Ec
x3Ecx3E8WH5ve/qTPVOaTOrPx+Vs2dhibn7u7G3z+oSsna6F4ziO4ziO4ziO
4ziO/y2u9hWqHjW17y+Tblx3wFRnPLxqyA0tptddXf5p8vAT1m7bu1x73nAc
x3Ecx3Ecx3Ecx3FvXV2v8MLeuetyNnSYbWPLTk79uNp8sSO3sGnge3JfoepR
lyxtTmu9c78ZcNPmruuXnDBV377l7YkTW6Tb9i7VtTYOHz2qYXDYlBTfFn1i
R8TsvSuj9aO1DfLf69rrguM4juM4juM4juM4jn89X3VT6vSkz4+ZZ5Injbl5
VcQszHnr5aylTfL2tv3KK1dzXK49nziO4ziO4ziO4ziO4/jX85R9XUYv2h41
V28uv2ZR43Gzok/GC8uOfSBvr3qR6kvlzdGfrP7uR+ap9Ac+76gImVtG/vvf
5d4Z9sxt57vUuVv5K+afm3Ukai5PS2odlHTUHFocziyr3u3c64XjOI7jOI7j
OI7jOJ5onle1tG/2qQ7zh3UZQ7u8e8Lkdp7wnWHFe+XtMw+W5f22xwmzdc6v
k3bWRMz4ST+89Y1h+2UvUt3p4VsuPj3mbIOJ3jgg+r2Lx80b/7Y/6+F/jVi7
V71LnQPW/bKCM1kDW80jE0NDh8yImDmvFDzeu+ZD515HHMdxHMdxHMdxHMdx
/K9ue91A1Yu86lde9S71OLeOH7Mu9XSbee7k/Qf7lYbNlMbSBbnZdc69LjiO
4ziO4ziO4ziO44nmY2tGb2rLiZruG+enbN8dMo8ur8xprtwjb6/2FdrOX/X/
/TXbnvuverPUnO4888tj5upvJRcf+W6rZ+5V71LzZq69jjiO4ziO4ziO4ziO
40H3H8xPrqmaETXlFdNf+NWC/WZz2vj23E5V5qHSeaFN10fMoGcbKs68FDGv
T7r7jtaX603xPYWdT/VrM5U9zpbkpURMWqfX1o48p+eRbOev/O5XXvUu2zku
9fywPxHHcRzHcRzHcRzHcdxbV+dfNd77rcLdr0TNjT3mbv/+F03mhgcXP39d
brXZOHz0qIbBYVNSfFv0iR0Rs/eujNaP1jbIeS3bvjT752ZDUXK92bD3D996
puOoue/mLpfd2OCde9W71Pla6nnuWrthQEaow9Scn9B1Tes+kz5wcvJ1M953
7v2A4ziO4ziO4ziO4zgedFfzSLZzWX53Kr97l/p32Z6fj+M4juM4juM4juM4
jn+1q32F6vbn7+v2xwVvtZsbaoZPK0oJm99NWL+4d1Gt9f5B245U1nfW878x
H5o1/9l1xE83NZtN97XlLyxo88z97l1qf2JBxpyeY5qiZlzqqtXLCo6ZlUUX
q6c21Tj3PsFxHMdxHMdxHMdxHI+Vr7opdXrS58fMM8mTxty8KmIW5rz1ctbS
JvPZ04uyR/RtMemXnnuyuDpiek7ZdmXmyUaTtrAquza/w+xaf8WRPkUtZs+p
E91nLd8n569s+5XfnSpWHcx2jkudJ6/6odrX6dr7DcdxHMdxHMdxHMdx3NZT
9nUZvWh71Fy9ufyaRY3HzYo+GS8sO/aBeXPj7dNe7H/EXKhr+dFV4bC59pL0
Ke/Ma5b741QHU+di+d2vxv190zWnSupMY9PFqz6+5rDpPTrvlpIae4/VfJdt
11Kvl+qQ6nwz196fOI7jOI7jOI7jOI4H19V1Bv3+ubJHldW3t7960BTW90sy
Q8JmZm1oZtGnx6zv37ZredWp/Havepd6/i/snbsuZ0OH2Ta27OTUj6vNFzty
C5sGvufc+xbHcRzHcRzHcRzHcbz4nsLOp/q1mcoeZ0vyUiImrdNra0eeq5O3
3zp+zLrU023muZP3H+xXGjZTGksX5GbXWfcxr/YPxmu/8qp3qefHtfchjuM4
juM4juM4juO4OgdJ3f7BlVfOzTp91Px4ZcOKdx6MmF73Dpv5vaxPpGceLMv7
bY8TZuucXyftrImY8ZN+eOsbw/Zb37/aBxer/YCZdWWPfZlWZ+6589aCCT85
aBZtuXr+/FP+e6zmuGzPk/fq/VlUeH23HclRMy5/wpzzf/75I872HllcvMO5
zxGO4ziO4ziO4ziO49+8q26Q+4vHdlaeaTY/69+tddrQiPn9p73Odxp/2HSq
u/bsY5MOmfwlO6s/WB02g3uVHKioOyrPUyo/POr2yJ+Om3dLdn1ZWh4x0azU
T2aXH5CPR3USv+esYtWpgtK7bM/dUq+vOjfe9n2C4ziO4ziO4ziO4ziuXHUt
dc6Suh91HrjqY7ZzWYnWr/zuXV7Ncal9o7bvN3XOPHNcOI7jOI7jOI7jOP7N
u+o86tyq/BXzz806EjWXpyW1Dko6ag4tDmeWVe/27PGoPqCuJ2i770ztQ1T7
DdU8j23X8qoLPdb/5teTf1pr2vYs+rRy7QETHbTr7X/5drtnHvTeZbs/UXVR
1bVc+/ziOI7jOI7jOI7jeDx5yr4uoxdtj5qrN5dfs6jxuFnRJ+OFZcc+sL4f
23OobF31NNvHY3tOu+obap5HdQ+v+pXfnSroHUw9z+r1Va+j7fUF8qqW9s0+
1WH+sC5jaJd3T5jczhO+M6x4r3OfdxzHcRzHcRzHcRwPoqvz1dU+qemhJYee
CkXNSw9k5j+fd9gMzquvSN6yS55DZXtulZpvUT9XzWWNrRm9qS0narpvnJ+y
fXfIPLq8Mqe5co+ZXVbf3v7qQVNY3y/JDAmbmbWhmUWfHovZ9QTjtVO51rts
u5aa63Pt84vjOI7jOI7jOI7jieyqF9nun1LzSFP7/jLpxnUHTHXGw6uG3NBi
et3V5Z8mDz8hb686mNrfpx6P6ldqDidW51m51pGC4l51LTWnp/aNqs+Leh/+
YH5yTdWMqCmvmP7CrxbsN5vTxrfndqpy7nsAx3Ecx3Ecx3Ecx/+7qzmooOxL
UvNUqlOpXqRc3Y9t11L7EFWv8Oo8q1j1nGsGdFkw+n/Vmi0fHVwT3dJobu8/
YkPX0jbnPOi9S71P1P5T2+sedr+s4EzWwFbzyMTQ0CEzImbOKwWP9675UN4+
bWFVdm1+h9m1/oojfYpazJ5TJ7rPWr7Pue8NHMdxHMdxHMdx/K+uzndSvUjd
jzoPp2vthgEZoQ5Tc35C1zWt+0z6wMnJ18143/pxqrkOtY9J3T5Wz7PqQqoj
qXW9ut6fur26f7XeV3MvqpsFpV+51qPitYP5vW/R9nOn5iGV+32dBRzHcRzH
cRzHcdxbV3NN6txv1ZH8PifHdr5IdS11TlSsnn+1j0/1KzUfpVz9XNs5MfV4
VNfyu1+51ouC7q51LdvrJ6oeq/qV+tzZ7sPFcRzHcRzHcRzH3XS1HrQ9n1zN
can7UV1Fue3jV3NKW8ePWZd6us08d/L+g/1Kw2ZKY+mC3Ow6eXt1Xrrt86z2
Vdnu71Ou5qwu7J27LmdDh9k2tuzk1I+rzRc7cgubBr4nXxc1v6eeN6+6lmv9
J9Hc795l27XUHJfqrrbXzVTfG67Nf+I4juM4juM4juN/dds+Y3s+uZp/UOtN
2312tnNHtudN2Z7no/YbqnN7CjLm9BzTFDXjUletXlZwzKwsulg9talGrt+9
uj6gmtNT/cr29bLtWn73ma0Lcv5x9o5ak/bxPx66cfuH5pUBv6kakOaeu9a1
vOpdrnUtNa/l2vczjuM4juM4juM4/vXctm+o7mTbQ2z32dl2MPV41POgupPq
V7b7MdXj9/v6gLau5lhUf/C7X7nWoxKtg8Wqa6n90erzpfYnfvb0ouwRfVtM
+qXnniyujpieU7ZdmXmykesq4jiO4ziO4ziOO+pqv5i6veozqhep7qTmK7xy
295luy9Jda2HSueFNl0fMYOebag481LEvD7p7jtaX66X82BqrixW51O5dk67
a70o6O5a77LtWqob236P4TiO4ziO4ziO48FyNW9ge967ctWLVHeyPQ/Kdv+R
6lq281qqa6n19fTQkkNPhaLmpQcy85/PO2wG59VXJG/ZZf141L8r6OdQudZ5
8G+md9l2Lfl5F/sE1X5e176HcRzHcRzHcRzH8a/n6np/al5I9RzVtdR6U61P
bc99su1dqrOpfZTqeVPPj7q9OjfMdv+ga/3KtQ6DB6t32XYt9fmyPdfO1lWX
tv1etf25+Svmn5t1JGouT0tqHZR01BxaHM4sq97t3O8RHMdxHMdxHMdxr1xd
j0/dXu3TUd1GzS/ZXo/Pq/OgbHuXevzqPCjV5dTzo7qZ3/sH6VF/9dc7praN
715npr7dNuL483tNl4GXnvjn11tj5q49P/Hau2z3I3t1HUPb87tsv4fV/mXX
fu/gOI7jOI7jOI575cX3FHY+1a/NVPY4W5KXEjFpnV5bO/Kcd+fJqH12ttfj
8/vccvVzVdfy6nwwrzpevPYr17pT0N2119er3uX3OfPyfD/L6x6qPqa6t7qO
qrq9V90Mx3Ecx3Ecx3E8KG57nozqOdb7DUXXitV55mo9q+bZ8qqW9s0+1WH+
sC5jaJd3T5jczhO+M6x4r7wOmlfnhqnnJyj9yrXOgwerg8Wqd6nPo/qeVN8b
qlOp60Eot+1pOI7jOI7jOI7j8eq26yN1DoyaU7I9z8rv/XRe9S7VqdS5PWpO
Q81XqD5m27XoVHg89S6/9y3afg+oLm37PazmQtX3qupdtj9X9XnXfk/hOI7j
OI7jOI4rV31GuZo3UOe6+L1vzm9Xj189P7bzabKPifWsur1XXcu1foIHy+O1
d3l1Xp/az6hcfd5tr7tqew4YjuM4juM4juN4UNz2/GTb6xUG5dynWO1vUufk
qOeTfoUH0V37/MbqnC71ubbt3qprqf/uoOZF1X5J2/3pOI7jOI7jOI7jsXK1
/lKu9r9c2Dt3Xc6GDrNtbNnJqR9Xmy925BY2DXzPumu5dp6PV+tr9Tyo9ala
Lydav3rrypJ/uSf9Q1P5znv/nFaxy3zryPLIwy9FAuOuPZ+uuWu9K1Zdy3Ze
y/Z8+PwV88/NOhI1l6cltQ5KOmoOLQ5nllXvdu73EY7jOI7jOI7juK37fR57
vJ775Pe627V/b6L1KDoYXcuPc+bVXJbav6y6t2u/R3Acx3Ecx3Ecx2PlXu3f
CUqPwulR8eSuvX9c611+n6+l+pXaX2w7Z6XuR12fomvthgEZoQ5Tc35C1zWt
+0z6wMnJ181437nfOziO4ziO4ziO4145nSo+3LXegrvprr1vg9K1VL/y6rqo
00NLDj0VipqXHsjMfz7vsBmcV1+RvGWXdQfDcRzHcRzHcRxPNE+0fuVaZ8Bx
F9y1z6lXvcur658W31PY+VS/NlPZ42xJXkrEpHV6be3Ic3Xy3HX1fXv+vm5/
XPBWu7mhZvi0opSw+d2E9Yt7F9U693sBx3Ecx3Ecx3E8KO5av3JtvY/jiex0
rb92LTU3dW97+pM9U5pM6s/H5WzZ2GJufu7sbfP6hJz7nsdxHMdxHMdxHI9X
p1/hOJ5ovUvtN1TXJVTXgU1bWJVdm99hdq2/4kifohaz59SJ7rOW75PzXbbf
z433fqtw9ytRc2OPudu//0WTueHBxc9fl1ttPScWK//s6UXZI/q2mPRLzz1Z
XB0xPadsuzLzZKNzjxPHcRzHcRzH8eA6nQrH8aD3Ltuupa5LqK4/OLZm9Ka2
nKjpvnF+yvbdIfPo8sqc5so98nwtdXt1jpbt9/bG4aNHNQwOm5Li26JP7IiY
vXdltH60tsE8uPLKuVmnj5ofr2xY8c6DEdPr3mEzv5f1iXTbn1uQMafnmKao
GZe6avWygmNmZdHF6qlNNfJ6juo8Mdd+D+I4juM4juM4HlynX8XWz3UekdFc
UG8+2PV/ev3vHjvM2hVL0p58PIx77K697onmrvUu23Pj1dyROk9euepmqgup
7201D6a6k9ovaftzO9Vde/axSYdM/pKd1R+sDpvBvUoOVNQdlddtnF1W397+
6kFTWN8vyQwJm5m1oZlFnx6TnW3r+DHrUk+3medO3n+wX2nYTGksXZCbbT/n
huM4juM4juN44jhdi76E083itXfF6vqJ6pwutZ9R9Sh1e/V9ruajVE8rb47+
ZPV3PzJPpT/weUdFyNwy8t//LvfOsGfO+WM4juM4juM4jvvtQelXrnUMHKeD
JU7v8ruDjfv7pmtOldSZxqaLV318zWHTe3TeLSU1bdb7B8sPj7o98qfj5t2S
XV+WlkdMNCv1k9nlB2R3Uvso1TljytX9sA8Rx3Ecx3Ecx3G/nU6F4+67a92J
3vX1epdt11L7H9X5Wrbf/6pTqfPHlKv7SdnXZfSi7VFz9ebyaxY1Hjcr+mS8
sOzYB9aPU51X5tX5/DiO4ziO4ziOB9fpVDgef+5ajwpK14pV71L7FlXvUud3
qd6l5qlszwdTrnqX+rm2+yvVOWBcbxHHcRzHcRzHcToVjieOu9apEq13ebVv
0fZcL9XHbN3v3qX2UapzutjniOM4juM4juO4a+tuHMfdcdf6lWu9y7Vzumx7
l1cdzLZrqX2L6hwwNd9le71FNd+Vv2L+uVlHoubytKTWQUlHzaHF4cyy6t3O
/b7GcRzHcRzHcZyuheN44vSuoMxxBb13qa5le868um6jmtfqWrthQEaow9Sc
n9B1Tes+kz5wcvJ1M943mQfL8n7b44TZOufXSTtrImb8pB/e+saw/fL3oDq/
y7Xf1ziO4ziO4ziO07VwHKd3BaV32XYt297lVddSc1mqF7258fZpL/Y/Yi7U
tfzoqnDYXHtJ+pR35jXLOasLe+euy9nQYbaNLTs59eNq88WO3MKmge859/sU
x3Ecx3Ecx/Fv3l1bF3vlN53e8w+5DQ3m9d/2evvyN98x3x/+2OO/vKsF99hd
e91xupbLvcu1OS6vupbaP6iuV6g6FXNTOI7jOI7jOI7bOn0Jd8Fd6zN4YvYu
upa3+w3TFlZl1+Z3mF3rrzjSp6jF7Dl1ovus5fuc+z2I4ziO4ziO43hw3bW+
geP0scRxupa3XcvvfqX2G3rVr7aOH7Mu9XSbee7k/Qf7lYbNlMbSBbnZdc79
3sRxHMdxHMdx3B13rUvgOB0Mj9feFau5LNWj1Lnrav5KuTrv3fZ6ha79fsRx
HMdxHMdx3H13rTPguMvuWv+JV6dreTuXpbqW+r2wcfjoUQ2Dw6ak+LboEzsi
Zu9dGa0frW2Q52jZdi31c8/f1+2PC95qNzfUDJ9WlBI2v5uwfnHvolrnfm/i
OI7jOI7jOO6Ou9YNcDyI7loXileP167l977C3F88trPyTLP5Wf9urdOGRszv
P+11vtP4w7I7pezrMnrR9qi5enP5NYsaj5sVfTJeWHbsA3n7e9vTn+yZ0mRS
fz4uZ8vGFnPzc2dvm9cnZB4qnRfadH3EDHq2oeLMX57HSXff0fpyvXO/B13z
xnu/Vbj7lai5scfc7d//osnc8ODi56/LrXbuceI4juM4juO4C+5aH8DxRHDX
elFQPOhzXLZdS81ZqbkpdXu1f9D294XqY8pVH6PbfLV/9vSi7BF9W0z6peee
LK6OmJ5Ttl2ZebLRuceJ4ziO4ziO4y64a+t9HE9kd60jBcUTrWtlHizL+22P
E2brnF8n7ayJmPGTfnjrG8P2y318U/v+MunGdQdMdcbDq4bc0GJ63dXlnyYP
PyHnr4rvKex8ql+bqexxtiQvJWLSOr22duS5OumrbkqdnvT5MfNM8qQxN6+K
mIU5b72ctbTJjK0ZvaktJ2q6b5yfsn13yDy6vDKnuXKPubB37rqcDR1m29iy
k1M/rjZf7MgtbBr4nnO/H/129bypTqjuZ3poyaGnQlHz0gOZ+c/nHTaD8+or
krfscu7fi+M4juM4juN0LRzH6WCJ07VUj5LzWpadqvzwqNsjfzpu3i3Z9WVp
ecREs1I/mV1+QN5e/R5x7TqGak7Mtd+/b268fdqL/Y+YC3UtP7oqHDbXXpI+
5Z15zdbnkuE4juM4juN4Irtr63Qcx+ldQeldfnctdY5WWd9Zz//GfGjW/GfX
ET/d1Gw23deWv7CgTe43VP3E7/Ov1H5Dtc+u+2UFZ7IGtppHJoaGDpkRMXNe
KXi8d82H1j9XzUGpOTevupy6zqPqVKpbKvf7dXHt7xMcx3Ecx3Ecp2vhOJ7I
vSvRutbDt1x8eszZBhO9cUD0exePmzf+bX/Ww/8akee651Ut7Zt9qsP8YV3G
0C7vnjC5nSd8Z1jxXs9+v6jrKqr+o/qbcvXv8nveyXaezXbuTrn699o+ftUP
2R+K4ziO4ziOB9GP/+zaXx+98YBJ+ahH0vR7K8yJ1rEbP/skZO2urd9xHKd3
+d27bLuW6leqU6m+ccnS5rTWO/ebATdt7rp+yQlT9e1b3p44scW6S9h2EtVD
1ByU7f3YzjWp50HdXp1bpc4BU4+/U921Zx+bdMjkL9lZ/cHqsBncq+RARd1R
eXv1Oqr5OtUn1f2of6/qga79HYLjOI7jOI7jLnStWLlrfQDH48ld61FB6Vpq
LkvNX6leob63Vc9RnUSdP696iOpd6twq1XnUXJY651zdj3qcqv/Yuno+VQez
fZ5tXd2/ep+ofqWef9f+DsFxHMdxHMfxRO5adDMcp3e51rtk1xJzTeP+vuma
UyV1prHp4lUfX3PY9B6dd0tJTZvsLWquSd2P6mnq9qq3qHkw23Ps1XlWao6r
a+2GARmhDlNzfkLXNa37TPrAycnXzXhfdiqv+pJyNV/nlaufq94P6ve73+en
4TiO4ziO47gL7lpHSjR3rVfgeCL3rqCcu6U60mP9b349+ae1pm3Pok8r1x4w
0UG73v6Xb7fL+1G3V71FdRLbLqTmwdR55mruSM012XYk1ff8dtuuJc/jEte1
dO3vDRzHcRzHcRyna+H0MTyI7lq/Cnrv8spV77LtYLbn29vuu1TntKt5Ldt+
pR6/3247L6f2b9qeD2brtvev5hLV68j1GXEcx3Ecx3G6Fk4fw4PorvWroF9v
0e9uZtu7VLdR52ip6yeq+S7bfYi23Un9u2zd9ufa9sBYXddSvY7KfzA/uaZq
RtSUV0x/4VcL9pvNaePbcztVOfd3EY7jOI7jOB4sd62r4MFy1zoJHh/uWr9y
rXe51sFU71JdS53Hrn5PqXPjP3t6UfaIvi0m/dJzTxZXR0zPKduuzDzZKOeF
/O5XXvUu9byp50d1JDXfpe5n1U2p05M+P2aeSZ405uZVEbMw562Xs5Y2ydvb
Xo+SuSwcx3Ecx3GcroXHq7vWVXA33bV+Re/66t6leo7qMLZzTep8Ldt+Zbsf
03Zuze/eZXtOV0HGnJ5jmqJmXOqq1csKjpmVRRerpzbVyL8T1JyYmpez3Wdq
65yHj+M4juM4jtO18KC7a70Fp3cFsXf53cG8OtcrXt3v/Yyqg6keKK9rKfqY
uh/Vu2yv56iuF2A774fjOI7jOI7Ht7vWK3CcDobTuxKzdwXF47V3eTUPptx2
vkvtZ1Tnral9lLb7K3Ecx3Ecx/FguWv9AcddcNf6DE7vSoTeFa99jN7l7XyX
6l2zy+rb2189aArr+yWZIWEzszY0s+jTY3K+q/zwqNsjfzpu3i3Z9WVpecRE
s1I/mV1+gH2OOI7jOI7jAXPXegKOB9Fd6zZ4YvYuOliw+lhQzu/yu2upeS3V
tVS/enPj7dNe7H/EXKhr+dFV4bC59pL0Ke/MazZbx49Zl3q6zTx38v6D/UrD
Zkpj6YLc7Dp53QF1+7E1oze15URN943zU7bvDplHl1fmNFfu4Tx8HMdxHMdx
uhaOx6271m1wehe9y53e5docl1ddS/Urr+avXPs7CsdxHMdxHKdr4ThOB3PZ
XetR9C561zfZtWznstTfG11rNwzICHWYmvMTuq5p3WfSB05Ovm7G+/J8eLVP
MH/F/HOzjkTN5WlJrYOSjppDi8OZZdW7nfv7CsdxHMdxHKdr4ThO73LZXetR
9C66lgtzWWofn2t//+A4juM4juPx4a6t33Ecp3cF3V3rUfSuYPUuv7vWxuGj
RzUMDpuS4tuiT+yImL13ZbR+tLZBdirbfYW2f4ekLazKrs3vMLvWX3GkT1GL
2XPqRPdZy/c59/cSjuM4juM47qa7tk7HcZwOFq/uWo+idwWra3k1l6U6kpqz
sj3XvVPdtWcfm3TI5C/ZWf3B6rAZ3KvkQEXdUbmvkHPXcRzHcRzHcboWjuP0
ruC6az0qXrtWUHqX6lqqX9mef5V5sCzvtz1OmK1zfp20syZixk/64a1vDNsv
+5Lt+e3quoGu/f2D4ziO4ziOx4e7tr7Gcdwdd63/JJq71qnitXcFpWup/YBq
X6HqUWpuSvUu9fdDyr4uoxdtj5qrN5dfs6jxuFnRJ+OFZcc+cO7vHPzr+fn7
uv1xwVvt5oaa4dOKUsLmdxPWL+5dVOvc48RxHMdxHG8LzT458vWD5sb3LobK
Xtxm7nvkgdfWTTvu3Poax3F33LX+E6/uWo+ia7k5r6V612dPL8oe0bfFpF96
7sni6ojpOWXblZknG6W79vcJ7mbX4v2D4ziO47hrrrqWrbu27sZxnN4Vr+5a
pwp67wpK17I9X0vNa6m5rIKMOT3HNEXNuNRVq5cVHDMriy5WT22qMd0vKziT
NbDVPDIxNHTIjIiZ80rB471rPpRzX8xxxYcX31PY+VS/NlPZ42xJXkrEpHV6
be3Ic3XmwZVXzs06fdT8eGXDincejJhe9w6b+b2sT8yqm1KnJ31+zDyTPGnM
zasiZmHOWy9nLW1y7t+F4ziO43j8uVddiz6G4zi9i94VxK7ld++KWdcS52vd
257+ZM+UJpP683E5Wza2mJufO3vbvD4h+XeCms95c+Pt017sf8RcqGv50VXh
sLn2kvQp78xrln1DdRLX/i7Cv9rV666uF8B8F47jOI7jida16GA4njjuWheK
V3etXwWldwWla6nrHk7t+8ukG9cdMNUZD68ackOL6XVXl3+aPPyE9d8Jau5L
9TE6Rny4mrtT/Uq9H3if4DiO4zhO16KD4XiiuWtdKOjuWqdyrWvFql/5Pa+l
ekJ5c/Qnq7/7kXkq/YHPOypC5paR//53uXeGzSVLm9Na79xvBty0uev6JSdM
1bdveXvixBbr26v9jOp6iz+Yn1xTNSNqyiumv/CrBfvN5rTx7bmdqpz7eyle
vajw+m47kv/8euVPmHP+v+rNiLO9RxYX77DunOr9oFz1Ma/+Xep6Cq49/ziO
4ziO07XoYDieOO5aLwq6u9av6Fredq2yvrOe/4350Kz5z64jfrqp2Wy6ry1/
YYHen6hcnUuvepftPkfcTU9bWJVdm99hdq2/4kifohaz59SJ7rOW75NzgOr9
8PAtF58ec7bBRG8cEP3exePmjX/bn/Xwv0bk7dX9q57mdx/DcRzHcdx9d60j
Bd1d6wA4ngjuWi8KirvWrxKta6l+5VXXUq72Ldp2LdUZlKvzxtW59Gq+y7W/
o+LV1TlaqjupfqXeP8rV/ai5L/W+Yl4Lx3EcxxPHXetCieau9QEcjyd3rSMF
xelabvarWHUtNVeTv2L+uVlHoubytKTWQUlHzaHF4cyy6t1cF89R3zp+zLrU
023muZP3H+xXGjZTGksX5GbXyX54/r5uf1zwVru5oWb4tKKUsPndhPWLexfV
yvuR/dOj+UB1HU/ebziO4ziOu9Z5cHoXjtO16Fp+9C7XznuPVb+y7VpenT+v
zt1y7e+ioLtX57FPDy059FQoal56IDP/+bzDZnBefUXyll3W/Urth7XdJ6ve
h6p3+f08q3k25V793LyqpX2zT3WYP6zLGNrl3RMmt/OE7wwr3mu61m4YkBHq
MDXnJ3Rd07rPpA+cnHzdjPede3/iOI7jOF0Lp4PhOL2L3uVt1/KqU6lzflRH
8rtTKbftCWpeq/zwqNsjfzpu3i3Z9WVpecREs1I/mV1+QO7/UtfXc+3vItVz
vLp/v8/JV8+/bW9Rz4Ntv/L7/an2scaqa6n+ps6dU98b6vPl2ucFx3Ecx11w
1/oMTgfDcXqXmx6vXUv1K3Wej1p3q3N+ZC8S61Z1vpDf8zBqDsf2XO7cXzy2
s/JMs/lZ/26t04ZGzO8/7XW+0/jDct9irP7+GVszelNbTtR03zg/ZfvukHl0
eWVOc+UeOe/0UOm80KbrI2bQsw0VZ/7yfpp09x2tL9fL+7e9vVeuzntX72ev
3m9edVfb3qXml2zP6VLvB3U/Xp2Hz7n3OI7jOE7XwuldOE7vSsze5fe8llpf
qzkNtR9KzZOo+1G3V/Meap1u269sr3sY9HW66hjqdVG3V/evzn1S3c+rc87V
z7XtWrb9ynb+0Cv3ex7M9nOknk+v3p+ufY7i9fHjOI7jwXLXugoeLHetP+A4
XYuu5dX5WmqOS/Ul5bZzHapvqLkU217h1fyJmk/z6pwftS5W55l71X/U9RxV
x1PPv233U/N7tnNfqpvZnq+uuo1XXcvv8+Vi1cG86lrx6rb9luui4jiO43Qt
nN6F4/Quupa3c1y261mvzsdW566rDqP6huoqtn1GzTXZnk+l5tNUN1P/Lr/3
/am+p1539bzZ9qWiwuu77Uj+8+ueP2HO+f+qNyPO9h5ZXLxD7jdU96PeJ+rc
M/X+9KpT+e2x6l2qB9p+LoJyHp2te9VdbXu4a88DjuM4TtfC489d6xU4Tu9y
v3fFqmupdbTtHIu6vW23UX1JnROlOpLqHrbdzHadvnX8mHWpp9vMcyfvP9iv
NGymNJYuyM2uk/1NzcWp89hVD1TdyXafpnLVCdXr6Pe5ZLbnsPndr9Q8ZFCu
K2rbtWxfL6/2pbrm6vtEfa5t3/+qj8Xqupk4juM4XQvHXesVOE7XSpyu5ff1
E23X0Wo9qOaI1O991bvU7VVvUT1K7UNU6021/051IfXvVbdXrvqDV+fwq3W6
6nvq32V7Drzfc1a2PSpW7lXvsu1Xtvt51edazSv6fb1Ov131ZNvPtfp8qecz
VtfNVF58T2HnU/3aTGWPsyV5KRGT1um1tSPP1Tn3euE4jgfFXesYOE4Hw+PV
XetOQe9asTp3y7ZredW7vDrnx6v9cercG3ldSMtzq2z3/anOEKvr+tmeQ27b
T9T+RPV4gt6p/O5d6nNn26PU+9m2w6jPkd/rAjVPaLvvVblX5wGq18V2njNW
6y/V87367xE4juOJ5q51CRynd+GJ5q71KLrW1+taMZvjEp3Edt1nu86yPc9K
7Ze07Vqx6leuXe9PvV5e9Svb97nf7nfXUs+zV51B7adT/Up1Zr/nfNTjUe83
1eXU/dt+fm33+ar9y+rf5dW5fBf2zl2Xs6HDbBtbdnLqx9Xmix25hU0D35O3
V49TuVfnj9k6PQ3HceXqnAev7l/tx1ffh671Bxynd+GJ5q71qKD3rqDPa9n2
KzXPoPYPqnWK7dyIun+1/lX7E9X92F5f0quu5fd1/WJ1PpVrncq1DqbeD6oz
qL/D1edIXc9U3Y+6ve3clNp/Z3vOnu2cle3n0XYeVXVvtT/a7/Wdej7V95vt
/kqvrgOL4ziu3KvvGdv/Tmr734PU7ynXOgOOu+yu9RA8vt21HkXX+npdy6tz
e9R6R523o/47l+25Veq8ZdXH5P1b/p2j/l1enZdl27VcO4fKtY4UFPdqftKr
+SLbc7Rsz9dS813qc62+N2w7s1dzkup+bPcVqj7p1f5K5WquwHbfpd/n3qv1
rO2+Wtuf69X5cur1Vb93VG+0nZ+0/Rypz6O6jqdr+2cTzdV5C+q/O6jXV70f
1PtHvd/U/ah5eNvPnTr/U70PvTrXQj0Ptn+vutYNcDyI7loPwePDXetRQe9a
sTofXq3L1DrCdp+g+nvGq3Oc1HrBti+p9Zr673FedTn195VX1wEMeqey/VzE
yoPSu9T7yna/m+3+DrX+UuewqXW02k+n+o/qA37v57XtYOr7J1brZdvz9+Tc
mvi9oF532/8eYdvfbPeH2l7vQ62jbfubejzq96nt/lyv9rfi8eHq/WDbXdX7
1vY6s7afI/X3la2r58f23FTlrvUBHI8nd62T4PHhrnWqoHct9fvX9vxt27/z
VddSf8/YzofYzkWo+1F/z6u/l2z3Gan7sf3vkmqfo/p7L1Zdi04VrA7m1T5i
9f2g1im2cxq262j1ubPtDHK+yOf9vLa9y3aeQXUh2+stenXdVdv/HmH7+8K2
p9muN726LoBt77K9XoPt/nrX+gkeH67+e5z6HrPtV7b/fdCr7uTV949y1zoA
jieyu9ZP8GC5a/3K767l1X5D23Wc7fpC/V2hfi+r2/t9vpNaD9ru17Cd07A9
P0e9LurvQzWfYDvnZtu16FRuut9dy3adrnqU/O/mlutrtb9DdXXbTu7auXPq
8ajPu+qKtn3J9n68uu6qV/s6vTr3zO8OZvt7wXZey7W+geP/3VU/t70uj+1/
p/C7U9l+/6jvN9fW9TiO07vw+O5aXvUu265lu25VvzfV38nqXALX9rsptz0v
Rf27/F6fynNUxHrH9hxv23+XV13Ltf6TaG77eqn3g+3+C9t1verMtr1d3Y/q
YLbzq7H6HvPqeyboHqsO5lXvsp1/Vut317oEjn+Tbrv/16vrUPt9fWq6Fo7H
n7vWVXA33bV+5XfXUutW27//1TyDbT+xXQ/Gav+a7fOjnge/16e2c1/qdVHr
Jtu5lKB0LdsO7Jq71rvU+1Ptn/Xq+8GrbmM7R2r7/g+6x2rezO/+5nfv8qpr
2fZhtX5Xn0d1Hp1rXQLH/xZX+6nV37exuu6t7feP+n5zbZ2O4zgdDE/M3uVV
11K/Z23PgVHrHTXvre5H7RtS65dYdY+gXLdO/Z1je76K7d9vtuej+v06utad
XHO/Py+udRhbV+/zoJwjZ/u9kWh9zO/eZdu1vNpvqM6d47qBOP63u/rvL17N
cXl1fWq6Fo7j9C48kXuXbc/xqv/Yrh9j1T1cm4dR60TVCdXfV+q6b7bnp6l9
W373Sdd6Ubx6vPZhPFh9LCjzXbZdy7ZfyXMmLc+Lc60b4HgQXc1Dyusy0LVw
HHfMXestOL3rmzyPy6t1sW3fcG29H6tuYLveVH/n2K6n/N5X6Nrrgrs5D+aa
u9ad6F2xneOy7Vrqvwsop1PhuPuursszPbTk0FOhqHnpgcz85/MOm8F59RXJ
W3bRtXAcd85d6y14YnYtv6+36Fo3SzS3XV+r+Ss1V2/br5izwulg7nii9a6g
dC01N2t7/cG0hVXZtfkdZtf6K470KWoxe06d6D5r+T7n1vU4Hk+uerKak1Rd
2qvzuDhfC8dx19y1PoPTu77J3pVoHqs+oP6OUuvEoHcq1173oLx/4tVd606u
Ob3rq7uW3+doqf3gD5XOC226PmIGPdtQceYv7+NJd9/R+nK9PO+9a+2GARmh
DlNzfkLXNa37TPrAycnXzXjfuT6A40F0dc58QcacnmOa/uypq1YvKzhmVhZd
rJ7aVCM7mLq97fw8XQvH8aC4a30GT8zeRR+jY9CjEsddez8ExV3rVPQub7uW
7blYql+puVnVr9R5ia6t93Ec/9t91U2p05M+P2aeSZ405uZVEbMw562Xs5Y2
ydurrk7XwnE8KO5an8HpYHQz950ehQfxfRWv7lq/cq13xaprqfkHta7Mq1ra
N/tUh/nDuoyhXd49YXI7T/jOsOK98lx3tS/JtfU1juN/u6v9wmrforofdXvV
vdX3mGvrWRzHcToYTu+ip+F4PLlr3ck1d61rBaV3+T2vxfntOI7/YH5yTdWM
qCmvmP7CrxbsN5vTxrfndqqSt/eqb6v9iWqOy7X1KY7jOL0Lp3cF113rCTge
RHetO9G7ErNrqetu2M5d2M5v4DgeXFfXiVBznqpfqe8l5rVwHMfpXYnsrvUf
nJ6G43QwepcLXUutK23Xs29uvH3ai/2PmAt1LT+6Khw2116SPuWdec3mwZVX
zs06fdT8eGXDincejJhe9w6b+b2sT0zxPYWdT/VrM5U9zpbkpURMWqfX1o48
V+fcOh3H8f/f1edXfd5V76Jr4TiO08Fwehce3+5aP8GD5a71qHjtXa51La+u
e2h7Pvy97elP9kxpMqk/H5ezZWOLufm5s7fN6xPifHgcx6V/9vSi7BF9W0z6
peeeLK6OmJ5Ttl2ZebJR7n9Uvcu19SOO43hQ3LU+g9PBcNw1d63z4InZwVzr
WrGay/K7a9nuT1Tn0ru27sZx3J39jOo6ra6tE3Ecx4PurnUYnA6G40F31/pP
orlrnSpeu5ZXncq2X6l1olpXqnXo1vFj1qWebjPPnbz/YL/SsJnSWLogN5t9
hTiOV8rrUDTe+63C3a9EzY095m7//hdN5oYHFz9/XW619T5l19aDOI7jieau
dRjcTXetM+B4EN21XhR0d61fxap32XYt1a9Uj1L7btTclDwHXjj7B3Ect/Wi
wuu77UiOmnH5E+ac/696M+Js75HFxTvk7W3P3VLn9XW/rOBM1sBW88jE0NAh
MyJmzisFj/eu+dC59R2O4zhO78LpYzjugrvWkYLirvUr1+a4VNdS58nYzk2p
+SvlaQursmvzO8yu9Vcc6VPUYvacOtF91vJ98v7H1oze1JYTNd03zk/Zvjtk
Hl1emdNcuce5dTeO4/65+r7KXzH/3KwjUXN5WlLroKSj5tDicGZZ9W7r6ySq
/cuqt7u2jsNxHMfpYHhw3bUugeN0MHfcta4VqzkutQ9R9SU1Z6XWm2qdqOay
1P2o9aOal1DnP7u2Hsdx3D9Xc1bqe0ldD1F1sI3DR49qGBw2JcW3RZ/YETF7
78po/Whtgzk9btuIl64/Ym7a1L7x2x+Xm9CXha9OPnzUufUajuM4Tu/CE8dd
6xU4Tu9KnN7l2rlb6nwtde66mpdQ+4BUj1Lrytll9e3trx40hfX9ksyQsJlZ
G5pZ9OkxOV+h1r8Plc4Lbbo+YgY921Bx5i/P+6S772h9ud65dTqO4/9zV98D
qmupOVJ13Qp1jp/qWrbu2joOx3Ecp3fhON0Md9ld60uuOV3rq8+TV+dxqXXi
9NCSQ0+FoualBzLzn887bAbn1Vckb9klu5bqV7bzYLm/eGxn5Zlm87P+3Vqn
DY2Y33/a63yn8YeZ78LxALvt+Xvq+0H1KzWnqq5/4VXXooPhOI7Ht7vWJXDc
BXetk+Dx4a71pUTrWq7tT1RdS63v1PrR9pwudS692jckz7EXfUzNm7m2fsfx
RHa1P3rVTanTkz4/Zp5JnjTm5lURszDnrZezljbJz7v6flBdS32/qZ4fq65F
B8NxHI8Pd60z4HgQ3bWugrvprnWnROtdrl0/UZ1jo+a1iu8p7HyqX5up7HG2
JC8lYtI6vbZ25Lk6631AylXvUutltZ/ItXU9juP/c1e9Wn1fda3dMCAj1GFq
zk/ouqZ1n0kfODn5uhnvy3mtoHctOhiO43h8uGs9AceD6K71FpzeRddy59wt
te5T8w/K1bpSuepjah+iOu/LtXU6juN/u6vrTVzYO3ddzoYOs21s2cmpH1eb
L3bkFjYNfM96jsu1HkUHw3EcT0x3rRvgeDy5ax0Gp3fRtf72rmW7b9GrDmbb
tdR5XGpfpDp3+vx93f644K12c0PN8GlFKWHzuwnrF/cuqnVu/Y7j+P+8a6nv
AdXD1T5r1/pSUNy19SCO43iiuWvdAMfjyV3rMzi9y4XeFauu5dV5XLa9S3Ut
NUeh5q/U/iP2IeJ44nhR4fXddiRHzbj8CXPO//n7Y8TZ3iOLi3fI26vvE9W3
XetF8equrQdxHMcTzV3rBjgeT+5at8ETs3fRtb5e17Kd11JzWWrOSp3r5dq6
G8dx/zx/xfxzs45EzeVpSa2Dko6aQ4vDmWXVu+Xt1fnz6vvHtf6D08dwHMfp
XTgeH+5at8HpWonctdRcllfnaKn9Qeq6aa6tu3E8EVztB7Sdp5oeWnLoqVDU
vPRAZv7zeYfN4Lz6iuQtu+T9q/krdb1F9XPVvmbXug1OB8NxHHfZXesGOB5P
7lrnwYPVu+K1a/l9vpbtuVhqPav6FfsNcfybd/W5U31JnWdlu09Q9W11e9t5
TtXNXOswOB0Mx3E8iO5aH8DxeHLXOk+iuWv9Kihdy++5LK+6lupX6hwbdV5W
yr4uoxdtj5qrN5dfs6jxuFnRJ+OFZcc+cG69j+NB9LE1oze15URN943zU7bv
DplHl1fmNFfukft/bc9dt/1cq32C5c3Rn6z+7kfmqfQHPu+oCJlbRv773+Xe
GTaXLG1Oa71zvxlw0+au65ecMFXfvuXtiRNb5PePepycr4XTu3Acx91x17oB
jseTu9aF4tXjtWsFfS7Lq/Phbee4yg+Puj3yp+Pm3ZJdX5aWR0w0K/WT2eUH
5Drd9rqHfncz28eP4y64mpOUn1PRndT5V7bXM1XXlVCuvmdUB1P9zbV+gseH
u7Z+xHEcD7q71g1wPIjuWhcKutO1vrpf+d2pbPuVV9c9fKh0XmjT9REz6NmG
ijN/eb4m3X1H68v1ct392dOLskf0bTHpl557srg6YnpO2XZl5slGuT5V62Xb
n6v2Pan7V4/Hdn6ma+2GARmhDlNzfkLXNa37TPrAycnXzXjfuR6Cx7erHmXb
ndQ5e+p7Q7m6H/Vz1blbdC3cZXdt/YjjOB4Ud60b4HgQ3bVeFHSP165l26/U
dQaV2/YoW7e97qHax6TmmtS506prqXkt2/1Kql+p9b7a32R7/7adDcf/J91V
3f4H85NrqmZETXnF9Bd+tWC/2Zw2vj23U5Wc11JzWV51KtvvN9t+rs7xU59f
1/oGjtPBcBzH6WA47oK71ouC4kHpWl7tH1RzU6rnqH03tutNr9aV6ueqdbFa
d6vzdmzP4VHPj5qzUo9Hdjnxc2UHEI/ftU6CfzOu9smq+T3b89Vtz79S73P1
c1VH8qrD296P+v6x3f/oWq/AcToYjuO4O+5aZ8BxF9y1jhQUd61r2c5fqX4l
131iHkmtW1U/UdcLU+tBW1frXLVOV+t62/N8bPc9ebV/yvZ+1PyYbWezPR9J
dVF1P+p8JNe6kGvnrqvr66nPr21fUu8T9b5Snxf1c22/T9T7ze95UeXq8av3
P/NaOE4Hw3Ecp4PhOB3MNY9V11KdyrZ72J5jo+am1Do6r2pp3+xTHeYP6zKG
dnn3hMntPOE7w4r3ynW07ZyDWker+1H779R8iFfzaX67ejzq8av1dUHGnJ5j
mqJmXOqq1csKjpmVRRerpzbVeNYl1PvBdl+ber+pzuNap/J7/ko9n+p1UZ8X
1a/U+8q2r6rXUX7PWHYnr8798+p6Fur5ca0n4HgQ3bV1JY7juGvuWmfAcRfc
tb4U9K5l27vUPkTb87Js54K8Otdd9aWNw0ePahgcNiXFt0Wf2BExe+/KaP1o
bYPsWuo6g+q8LNtzqOT+RJ/3XXp1zo963tS51spt59nUOWa2+z3V41evl+o8
rvWoWPUu2/kr265r6+r+bfcP+t2vvOpd6nlwrQ/geCK4a+tNHMdx19y1/oDj
9K7g9i6/z91SXUKt12yvk6g6jOpX6vZqjsirdbRtb7E958fv8/Plfkbx+NXz
oDqh7Vyfun/1flNdRc31qTkf1/pSrNy2D6u5O/W6+N11bfuV7feS364ev9pH
6dp6H8dxOhiO4zgdDMfpXa6dx+XVOfO2bnveV6z2AanzcGyvy+b3PimvzrtW
z4/qV37P56h+onqL6gPqOnSudSfX3PY6Ebb9yqvPhd89yqvvN9vvPdfW7ziO
08FwHMfpYDhO7wpK77LtYF65331Mra9Vt7Fd1wdln5RX82B+X6dS7StU80Vq
H6trvShWbnuOnLof9XnxqmvZvp/97lSxctfW4ziO08FwHMfpXThO74rX3uV3
H7PtWrbn2Kjr7sl9c+qcKHH/sZozca2D2c7LqXkt1VvUXJY6H8y17uS3q327
qt+q59/2ep2x2lfod3fyu/O7tr7Gcdwdd229ieM47pq71jFwPJF7l99dy7UO
5lXvkl1LnCul1u9qPe73+WOxcr/3P9rOcam5LDUvpK7PyLnxX+3qvDL1fNpe
99B2X6p6X/ndtfzuVHQtHMfpYDiO4266a30Dx+ldidO71PpUdRh1LpPqMEGZ
G/H7nJ9YdS3VSWyvtxiv52upf5fqeN0vKziTNbDVPDIxNHTIjIiZ80rB471r
PrT+uaoryvPkRU9W+yLV6x70fmX7vefauhjH8cRx19abOI7j9C4cp3cFvXfZ
di01f2LbVVzrVK71rlh1LTVHpPbTqc6jbq+uG/iD+ck1VTOiprxi+gu/WrDf
bE4b357bqcpc2Dt3Xc6GDrNtbNnJqR9Xmy925BY2DXzPs36l9lGqx1lUeH23
HclRMy5/wpzzf37+RpztPbK4eIfsS6oH2l53Up3bb3vOvO28lmtdy6vvPdfW
uTiO43QwHMdxOhjujrvWo+hd30zvCsq5On7/u7zqWqpf2V73UJ5jJuay1P5E
1alUL1L3o26v+o/fc1lqzkr1PTVPpZ5P2+dfPR51e9t+ZTsnGfR+RdfCcTxe
3bX1Jo7juGvuWifB48Nd61GJ1ruCfj1H19yr3mV7Dr/qP8X3FHY+1a/NVPY4
W5KXEjFpnV5bO/Jcnbwen+3tVc+xPVdN3Y/qYGqeSp3Tbnuuu5o3U3NT6nGq
fmU7L6d+rnq95P0EZC4rVtfXcG19iuM4TgfDcRynd+HBddd6FL0rttdzDHpP
s+1aag5HzQupTqLON1PdQ3UY1XlszzNXt5fzTqLX2e7LU+diqS6kOpXaJ6he
L/W6qHkq232j6nlTr7u6fzWvFa/9Sn2/ubbexHEcd81dW4fiOI7TwfAgums9
ig4WrN4Vqw7m9xyXV+dx2Z6v5dX1+GzPP7edE1P9SnUq232FqvupjqSef79d
db9Y7TeMVb+ia+E4jtPBcBzH6V24a+5ad6J30cG+yd7l1fnzas5HdS2vuo26
H6/mvtQ+StV5VKey7Xjq36uef1u3vZ5mrM7Rcm0ui66F4zhO78JxHHfBXesq
uJvuWneid8V3BwvKefWqk6he5FWfse1dtudQqbkvuX9Q7HNUfc/2vCzb582r
HmXriTaXRdfCcRwPlru2DsVxHKd34S64a92J3kXvcqF3eTX/49W+SNvrPKqu
pea1HiqdF9p0fcQMerah4sxfXqdJd9/R+nK9PF9L3b+6H7+vS+jVee+JNpdF
18JxHI9vd219iuM4Tu/C6Vr0LnpXbHuXV/sflav+ozqS2j+oetTG4aNHNQwO
m5Li26JP7IiYvXdltH60tkFeJ7H7ZQVnsga2mkcmhoYOmRExc14peLx3zYfW
54x5Na/ld9dKtLksuhaO43hiumvrUxzHcToYTu+idwW9g7l2Xn2sepfqPLbn
bql+pfYhqnO01D5EdX7X1vFj1qWebjPPnbz/YL/SsJnSWLogN7tO3t7v86/o
WnQtHMdxnA6G4zhO78LpXYnTu+J1jsu13uXVvkXVi9T+RHUdQ7V/UN2/6mm2
5+cHfb8hXQvHcRxPZHdtfYrjOE7vwuld9C56l5u9y/Y8Ltv5rtll9e3trx40
hfX9ksyQsJlZG5pZ9Okxuf/R7/Ph6Vp0LRzHcTz+3LV1K47jOL0Lp3fRu+ha
bs5xqb5ku29Rud/naHG+Fl0Lx3EcTxx3bd2K4zhOB8PpWnQtupabXUvNcan9
iWqOy6t5LdfmuPx+X9G1cBzHcZwOhuM47lq3weld9K74613x2rVUj1Lncalz
4+V+RnpXXMxxubZ+wXEcx3E6GI7jieCudRuc3kXXomvF6nwt1ZfUXNaqm1Kn
J31+zDyTPGnMzasiZmHOWy9nLW2SvevNjbdPe7H/EXOhruVHV4XD5tpL0qe8
M69ZnjNfkDGn55imqBmXumr1soJjZmXRxeqpTTXW58y7dv68a72LroXjOI7j
9C4cx+PPXes2OL0rEXoXXeuru5ZXc1mqX6m+dP6+bn9c8Fa7uaFm+LSilLD5
3YT1i3sX1Vpf39D25+b+4rGdlWeazc/6d2udNjRifv9pr/Odxh+2vm6j+rm2
c2Ku9S66Fo7jOI67766tc3Ecx13rNjhdi64V3K4Vq32Fap/gZ08vyh7Rt8Wk
X3ruyeLqiOk5ZduVmScbZXfyam7Kdn5M9a72Pbf+w4I5HeY3a/7xwFW7Kk31
zPwv/6OtUv57VR/zez+jbQfzu3fRtXAcx3Gc3oXjOO5az8HpXUHsXXStv/YN
2zki2/PeVadS81ed6q49+9ikQyZ/yc7qD1aHzeBeJQcq6o56dr1C27kyuV/y
8KjbI386bt4t2fVlaXnERLNSP5ldfsD6HDD1vNme66Xctqd5Nffld+9ybb2A
4ziO4/Hkrq1/cRxPHHet5+D0LrqWO11LdR7VVdR5VqpHKVfzTrY9x6v5Jdve
ZTufplw9P5csbU5rvXO/GXDT5q7rl5wwVd++5e2JE1vk86Pc9nXx+3m27V10
LRzHcRx3311b/+I4njjuWs/B6Vp0Lf+6lm3PUR1Gzfmo/XfqnHZ1DpWad/J7
/53f7tXzrOa71POpXpeutRsGZIQ6TM35CV3XtO4z6QMnJ183433Z09TjVD/X
q65l27tc+zsfx3EcxxPZXVv/4jieOO5a58HpXfHUtVzbb2i7/06ely561Oyy
+vb2Vw+awvp+SWZI2MysDc0s+vSY9VyW3+elx+o6kqoX2fYl23PA1P3b7q+0
fb28OqeLroXjOI7j8eeurYtxHA+uu9ZzcLoWXeubPx9edSc1L6T2takOpm5v
O5flVY+K1fNvey6Z7blhtuekqU5lez6/ejx+n0vv2t/nOI7jOI7Tu3Acd8dd
6zx4fPeuoHct1/qVV/vj0hZWZdfmd5hd66840qeoxew5daL7rOX7POskfl+n
L1auHr+aZ/Oq43m1j9J2TkzNg9l2S3V7tb/y/wIc+zDY
   "], {{0, 0}, {201, 201}}, {0, 1}],
  Frame->False,
  FrameLabel->{None, None},
  FrameTicks->{{None, None}, {None, None}},
  GridLinesStyle->Directive[
    GrayLevel[0.5, 0.4]],
  ImageSize->{201, 201},
  Method->{
   "DefaultBoundaryStyle" -> Automatic, 
    "DefaultGraphicsInteraction" -> {
     "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
      "Effects" -> {
       "Highlight" -> {"ratio" -> 2}, "HighlightPoint" -> {"ratio" -> 2}, 
        "Droplines" -> {
         "freeformCursorMode" -> True, 
          "placement" -> {"x" -> "All", "y" -> "None"}}}}, "DefaultPlotStyle" -> 
    Automatic},
  PlotRangePadding->None]], "Output",
 CellChangeTimes->{
  3.754327084103321*^9, {3.7543301887279434`*^9, 3.754330203267008*^9}, 
   3.7543303783830647`*^9, 3.7543316827108717`*^9, 3.7543325865284543`*^9, 
   3.7543326844139566`*^9, 3.7543328917906847`*^9, 3.754393549880635*^9},
 CellLabel->"Out[9]=",ExpressionUUID->"44085f83-7932-4d23-bfa0-a0d3b173fa69"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Collatz", "[", "43", "]"}], "//", "AbsoluteTiming"}]], "Input",
 CellChangeTimes->{{3.7543302180270834`*^9, 3.7543302308125243`*^9}, {
  3.754331685071884*^9, 3.7543316863078947`*^9}},
 CellLabel->"In[10]:=",ExpressionUUID->"0304bc95-4fb5-4db7-828f-2a70aada6f55"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.0000244`", ",", 
   RowBox[{"{", 
    RowBox[{
    "43", ",", "130", ",", "65", ",", "196", ",", "98", ",", "49", ",", "148",
      ",", "74", ",", "37", ",", "112", ",", "56", ",", "28", ",", "14", ",", 
     "7", ",", "22", ",", "11", ",", "34", ",", "17", ",", "52", ",", "26", 
     ",", "13", ",", "40", ",", "20", ",", "10", ",", "5", ",", "16", ",", 
     "8", ",", "4", ",", "2", ",", "1"}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.7543302311635327`*^9, 3.754330258415661*^9}, 
   3.7543303800340753`*^9, 3.754331686649893*^9, 3.75433258676646*^9, 
   3.754332685061962*^9, 3.754332893142688*^9, 3.7543935584596834`*^9},
 CellLabel->"Out[10]=",ExpressionUUID->"ef6da90b-dc13-4c45-b93a-dfac026b2e1b"]
}, Open  ]],

Cell[BoxData[
 RowBox[{"On", "[", 
  RowBox[{"CompiledCodeFunction", "::", "uncomp"}], "]"}]], "Input",
 CellChangeTimes->{{3.7543318371782904`*^9, 3.75433183718029*^9}},
 CellLabel->"In[11]:=",ExpressionUUID->"4e74e9cf-df6c-40f1-8372-ace52c2592fb"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"FibonacciNumber", "[", "92", "]"}], "//", 
  "AbsoluteTiming"}]], "Input",
 CellChangeTimes->{{3.754330263653681*^9, 3.7543302669326944`*^9}, {
  3.754330382189084*^9, 3.754330382988087*^9}, {3.754330427967297*^9, 
  3.7543304335653253`*^9}, {3.754330475237525*^9, 3.754330478571536*^9}, {
  3.754331792186578*^9, 3.754331795391591*^9}, {3.7543318533303647`*^9, 
  3.754331888647524*^9}, {3.754331951521899*^9, 3.754331951593896*^9}, {
  3.754332700832074*^9, 3.7543327084621477`*^9}, {3.7543328965917015`*^9, 
  3.754332907140752*^9}},
 CellLabel->"In[12]:=",ExpressionUUID->"0658b934-b431-4d4f-a78d-5c416ce5d1ec"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.000105`", ",", "7540113804746346429"}], "}"}]], "Output",
 CellChangeTimes->{
  3.7543302672917023`*^9, 3.754330383934089*^9, 3.75433042956831*^9, {
   3.7543304723745103`*^9, 3.7543304807695503`*^9}, 3.754331689554906*^9, {
   3.7543317927465787`*^9, 3.7543317955665927`*^9}, {3.7543318389913*^9, 
   3.754331889353527*^9}, 3.754331952191899*^9, 3.7543325870994577`*^9, {
   3.754332688676978*^9, 3.7543327089741507`*^9}, {3.754332900836723*^9, 
   3.7543329093527603`*^9}, 3.754393563289712*^9},
 CellLabel->"Out[12]=",ExpressionUUID->"276f83d3-204b-4164-afde-4a14b89a1d2a"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FibonacciNumber", "[", "92", "]"}]], "Input",
 CellChangeTimes->{{3.754331841838313*^9, 3.754331867856428*^9}, {
  3.7543319351937704`*^9, 3.7543319488398843`*^9}},
 CellLabel->"In[13]:=",ExpressionUUID->"bdb2e258-c37d-4036-8729-a2e96781ec66"],

Cell[BoxData["7540113804746346429"], "Output",
 CellChangeTimes->{{3.75433184344832*^9, 3.754331895234557*^9}, {
   3.754331937146777*^9, 3.754331949221885*^9}, 3.75433258731446*^9, 
   3.7543935663797283`*^9},
 CellLabel->"Out[13]=",ExpressionUUID->"8cfbd190-97ac-49bf-97f1-04e43c12ce39"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"Fibonacci", "[", "92", "]"}], "//", "AbsoluteTiming"}]], "Input",
 CellChangeTimes->{{3.7543318734634542`*^9, 3.754331902691588*^9}, {
  3.754332583426445*^9, 3.75433258356644*^9}},
 CellLabel->"In[14]:=",ExpressionUUID->"c6f29f36-fdad-4d01-8482-a16b12f58a96"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"2.4`*^-6", ",", "7540113804746346429"}], "}"}]], "Output",
 CellChangeTimes->{{3.7543318753194637`*^9, 3.754331903017588*^9}, 
   3.7543325874844613`*^9, 3.754393578553789*^9},
 CellLabel->"Out[14]=",ExpressionUUID->"ff5fd3b0-fb8b-4a9c-80c1-d3cbed6ab251"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData["Collatz"], "Input",
 CellChangeTimes->{{3.7543936089179487`*^9, 3.7543936124199696`*^9}},
 CellLabel->"In[15]:=",ExpressionUUID->"88ace989-69d9-4d19-951e-313bbf84643d"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["CompiledCodeFunction",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    TemplateBox[{PaneSelectorBox[{False -> GridBox[{{
            GraphicsBox[
             InsetBox[
              FormBox[
               StyleBox["\"Code\"", 
                GrayLevel[0.7], Bold, 8., StripOnInput -> False], 
               TraditionalForm], {0, 0}], Background -> GrayLevel[0.93], Axes -> 
             False, AspectRatio -> 1, ImageSize -> {Automatic, 
               Dynamic[
               3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification]), ImageSizeCache -> {27., {0., 10.}}]}, Frame -> 
             True, FrameTicks -> None, FrameStyle -> Directive[
               Thickness[Tiny], 
               GrayLevel[0.55]]], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Signature: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  RowBox[{
                    RowBox[{"{", "\"Integer64\"", "}"}], "\[Rule]", 
                    RowBox[{
                    RowBox[{"TypeSpecifier", "[", "\"PackedArray\"", "]"}], 
                    "[", 
                    RowBox[{"{", 
                    RowBox[{"\"Integer64\"", ",", "\"1\""}], "}"}], "]"}]}], 
                  "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            GraphicsBox[
             InsetBox[
              FormBox[
               StyleBox["\"Code\"", 
                GrayLevel[0.7], Bold, 8., StripOnInput -> False], 
               TraditionalForm], {0, 0}], Background -> GrayLevel[0.93], Axes -> 
             False, AspectRatio -> 1, ImageSize -> {Automatic, 
               Dynamic[
               3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification]), ImageSizeCache -> {27., {0., 10.}}]}, Frame -> 
             True, FrameTicks -> None, FrameStyle -> Directive[
               Thickness[Tiny], 
               GrayLevel[0.55]]], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Signature: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  RowBox[{
                    RowBox[{"{", "\"Integer64\"", "}"}], "\[Rule]", 
                    RowBox[{
                    RowBox[{"TypeSpecifier", "[", "\"PackedArray\"", "]"}], 
                    "[", 
                    RowBox[{"{", 
                    RowBox[{"\"Integer64\"", ",", "\"1\""}], "}"}], "]"}]}], 
                  "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  CompiledCodeFunction[
   Association["Signature" -> TypeSpecifier[{"Integer64"} -> TypeSpecifier[
        "PackedArray"[{"Integer64", 
          TypeFramework`TypeLiteral[1, "MachineInteger"]}]]], "ErrorFunction" -> 
    Null, "LoadedFunction" -> 
    LibraryFunction[
     "D:\\github\\prototypes\\Prototypes\\Source\\Compiler\\Libraries\\\
Windows-x86-64\\Collatz.dll", "Main_Wrapper_Pointer", {}, Integer]], 
   140733765850208, 140733765850048, 140733765849088, 
   "{\"Integer64\"} -> TypeSpecifier[\"PackedArray\"[{\"Integer64\", \
TypeFramework`TypeLiteral[1, \"MachineInteger\"]}]]"],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellChangeTimes->{3.754393612937975*^9},
 CellLabel->"Out[15]=",ExpressionUUID->"d7a08c45-6a7a-4e92-94b1-d862c74130ee"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell["experiments", "Subsubsection",
 CellChangeTimes->{{3.7543303936511364`*^9, 
  3.754330395627146*^9}},ExpressionUUID->"ef5beb5a-0bba-42f3-b883-\
5e7acd5774f2"],

Cell[BoxData[
 RowBox[{"ClearAll", "[", 
  RowBox[{"f1", ",", "f2", ",", "f3", ",", "f"}], "]"}]], "Input",
 CellChangeTimes->{{3.754328937697046*^9, 3.7543289416880655`*^9}},
 CellLabel->"In[53]:=",ExpressionUUID->"a729341c-b52a-4742-8d91-4f608c34759b"],

Cell[BoxData[
 RowBox[{
  RowBox[{"f1", "=", 
   RowBox[{"FunctionCompile", "[", 
    RowBox[{"Function", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"Typed", "[", 
        RowBox[{"x", ",", "\"\<Integer64\>\""}], "]"}], "}"}], ",", "x"}], 
     "]"}], "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.754328672513094*^9, 3.7543286798081284`*^9}, {
   3.7543287551381397`*^9, 3.75432876498219*^9}, 3.7543288814967737`*^9},
 CellLabel->"In[54]:=",ExpressionUUID->"0ddbe859-0f7a-47d9-b91a-091902fb9735"],

Cell[BoxData[
 RowBox[{
  RowBox[{"f2", "=", 
   RowBox[{"FunctionCompile", "[", 
    RowBox[{"Function", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"Typed", "[", 
        RowBox[{"x", ",", "\"\<Real64\>\""}], "]"}], "}"}], ",", "x"}], "]"}],
     "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.754328672513094*^9, 3.7543286798081284`*^9}, {
   3.7543287551381397`*^9, 3.7543287719912214`*^9}, 3.7543288833157825`*^9},
 CellLabel->"In[55]:=",ExpressionUUID->"371a1051-f9fd-4ecd-a546-b9c18fedae6f"],

Cell[BoxData[
 RowBox[{
  RowBox[{"f3", "=", 
   RowBox[{"FunctionCompile", "[", 
    RowBox[{"Function", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"Typed", "[", 
        RowBox[{"x", ",", "\"\<ComplexReal64\>\""}], "]"}], "}"}], ",", "x"}],
      "]"}], "]"}]}], ";"}]], "Input",
 CellChangeTimes->{{3.754328672513094*^9, 3.7543286798081284`*^9}, {
   3.7543287551381397`*^9, 3.7543287803822618`*^9}, 3.75432888486479*^9},
 CellLabel->"In[56]:=",ExpressionUUID->"2f36dcc3-daac-4bbb-9193-a59a7c048ec9"],

Cell[BoxData[
 RowBox[{
  RowBox[{"f", "[", 
   RowBox[{"x", ":", 
    RowBox[{"_Integer", "|", "_Real", "|", "_Complex"}]}], "]"}], ":=", 
  RowBox[{
   RowBox[{"Switch", "[", 
    RowBox[{
    "x", ",", "_Integer", ",", "f1", ",", "_Real", ",", "f2", ",", "_Complex",
      ",", "f3"}], "]"}], "[", "x", "]"}]}]], "Input",
 CellChangeTimes->{{3.754328723247982*^9, 3.75432872806601*^9}, {
  3.754328867423686*^9, 3.754328927543*^9}},
 CellLabel->"In[57]:=",ExpressionUUID->"7b053310-302b-4136-bb96-87f5325cca11"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"f", "[", "23", "]"}]], "Input",
 CellChangeTimes->{{3.7543289467120934`*^9, 3.7543289483670993`*^9}},
 CellLabel->"In[58]:=",ExpressionUUID->"0227d360-0ef6-4e7b-a59c-c93359c1a8c4"],

Cell[BoxData["23"], "Output",
 CellChangeTimes->{3.754328948710103*^9},
 CellLabel->"Out[58]=",ExpressionUUID->"d84f1110-f4a1-4ee1-9916-a7bb01692c0f"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"f", "[", "3.4", "]"}]], "Input",
 CellChangeTimes->{{3.754328950544115*^9, 3.754328952775123*^9}},
 CellLabel->"In[59]:=",ExpressionUUID->"217b5c68-b456-47de-858f-2a3a2d3a630e"],

Cell[BoxData["3.4`"], "Output",
 CellChangeTimes->{3.754328953206122*^9},
 CellLabel->"Out[59]=",ExpressionUUID->"f8a2b2f3-87ad-46d0-adc7-b364b700172e"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"f", "[", 
  RowBox[{"1", "+", "I"}], "]"}]], "Input",
 CellChangeTimes->{{3.7543289929363165`*^9, 3.7543289947513275`*^9}},
 CellLabel->"In[63]:=",ExpressionUUID->"356cc51d-89e0-408f-a764-8595bccb2d72"],

Cell[BoxData[
 TemplateBox[{
  "CompiledCodeFunction","argtype",
   "\"Argument type at position \\!\\(\\*RowBox[{\\\"1\\\"}]\\) does not \
match function signature.\"",2,63,11,20408936897387967884,"Local"},
  "MessageTemplate"]], "Message", "MSG",
 CellChangeTimes->{3.754328995394328*^9},
 CellLabel->
  "During evaluation of \
In[63]:=",ExpressionUUID->"d17e4b02-d014-4853-a17d-195713b9996a"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["Failure",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    TemplateBox[{PaneSelectorBox[{False -> GridBox[{{
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"Argument type at position \\!\\(\\*TagBox[\\\"1\\\", \
Function[Short[Slot[1], 5]]]\\) does not match function signature.\"", 
                    "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ArgumentType\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"Argument type at position \\!\\(\\*TagBox[\\\"1\\\", \
Function[Short[Slot[1], 5]]]\\) does not match function signature.\"", 
                    "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ArgumentType\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  Failure["ArgumentType", 
   Association[
   "MessageTemplate" -> 
    "Argument type at position `1` does not match function signature.", 
    "MessageParameters" -> {1}]],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellChangeTimes->{3.7543289954093313`*^9},
 CellLabel->"Out[63]=",ExpressionUUID->"35403541-8349-49ec-a333-8d845b6dcfe4"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"f", "[", 
  RowBox[{"1.", "+", "I"}], "]"}]], "Input",
 CellChangeTimes->{{3.754328954248131*^9, 3.7543289691532*^9}},
 CellLabel->"In[62]:=",ExpressionUUID->"2d61553f-b036-4125-a135-5012f90054a9"],

Cell[BoxData[
 RowBox[{"1.`", "\[VeryThinSpace]", "+", 
  RowBox[{"1.`", " ", "\[ImaginaryI]"}]}]], "Output",
 CellChangeTimes->{{3.7543289559151382`*^9, 3.7543289694752045`*^9}},
 CellLabel->"Out[62]=",ExpressionUUID->"190ae926-2e36-4961-9ffd-868e3b04eb5b"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{
  RowBox[{"FibonacciNumber", "[", "92", "]"}], "//", 
  "AbsoluteTiming"}]], "Input",
 CellChangeTimes->{{3.754330263653681*^9, 3.7543302669326944`*^9}, {
  3.754330382189084*^9, 3.754330382988087*^9}, {3.754330427967297*^9, 
  3.7543304335653253`*^9}, {3.754330475237525*^9, 3.754330478571536*^9}, {
  3.754331792186578*^9, 3.754331795391591*^9}, {3.7543318533303647`*^9, 
  3.754331888647524*^9}, {3.754331951521899*^9, 3.754331951593896*^9}},
 CellLabel->"In[24]:=",ExpressionUUID->"f601443e-2254-4215-821b-67fcd4fee646"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.0026519`", ",", "7540113804746346429"}], "}"}]], "Output",
 CellChangeTimes->{
  3.7543302672917023`*^9, 3.754330383934089*^9, 3.75433042956831*^9, {
   3.7543304723745103`*^9, 3.7543304807695503`*^9}, 3.754331689554906*^9, {
   3.7543317927465787`*^9, 3.7543317955665927`*^9}, {3.7543318389913*^9, 
   3.754331889353527*^9}, 3.754331952191899*^9},
 CellLabel->"Out[24]=",ExpressionUUID->"879ee4ba-efce-469b-9531-1d5c6b6ddea1"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FunctionCompile", "[", 
  RowBox[{"Function", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"Typed", "[", 
      RowBox[{"n", ",", "\"\<Integer64\>\""}], "]"}], "}"}], ",", 
    "\[IndentingNewLine]", 
    RowBox[{"With", "[", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"fib", "=", 
        RowBox[{"Typed", "[", 
         RowBox[{
          RowBox[{"KernelFunction", "[", "FibonacciNumber", "]"}], ",", 
          RowBox[{
           RowBox[{"{", "\"\<Integer64\>\"", "}"}], "\[Rule]", 
           "\"\<Integer64\>\""}]}], "]"}]}], "}"}], ",", 
      "\[IndentingNewLine]", 
      RowBox[{"If", "[", 
       RowBox[{
        RowBox[{"n", ">", "2"}], ",", 
        RowBox[{"If", "[", 
         RowBox[{
          RowBox[{
           RowBox[{"Mod", "[", 
            RowBox[{"n", ",", "2"}], "]"}], "===", "0"}], ",", 
          RowBox[{
           RowBox[{"fib", "[", 
            RowBox[{"Quotient", "[", 
             RowBox[{"n", ",", "2"}], "]"}], "]"}], "*", 
           RowBox[{"(", 
            RowBox[{
             RowBox[{"2", "*", 
              RowBox[{"fib", "[", 
               RowBox[{
                RowBox[{"Quotient", "[", 
                 RowBox[{"n", ",", "2"}], "]"}], "+", "1"}], "]"}]}], "-", 
             RowBox[{"fib", "[", 
              RowBox[{"Quotient", "[", 
               RowBox[{"n", ",", "2"}], "]"}], "]"}]}], ")"}]}], ",", 
          RowBox[{
           RowBox[{
            RowBox[{"fib", "[", 
             RowBox[{
              RowBox[{"Quotient", "[", 
               RowBox[{
                RowBox[{"n", "-", "1"}], ",", "2"}], "]"}], "+", "1"}], "]"}],
             "^", "2"}], "+", 
           RowBox[{
            RowBox[{"fib", "[", 
             RowBox[{"Quotient", "[", 
              RowBox[{
               RowBox[{"n", "-", "1"}], ",", "2"}], "]"}], "]"}], "^", 
            "2"}]}]}], "]"}], ",", "1"}], "]"}]}], "]"}]}], "]"}], 
  "]"}]], "Input",
 CellChangeTimes->{{3.754332059333932*^9, 3.754332117088235*^9}},
 CellLabel->"In[25]:=",ExpressionUUID->"a8427a1f-ef68-4c65-879e-1746e01b63b9"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["CompiledCodeFunction",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    TemplateBox[{PaneSelectorBox[{False -> GridBox[{{
            GraphicsBox[
             InsetBox[
              FormBox[
               StyleBox["\"Code\"", 
                GrayLevel[0.7], Bold, 8., StripOnInput -> False], 
               TraditionalForm], {0, 0}], Background -> GrayLevel[0.93], Axes -> 
             False, AspectRatio -> 1, ImageSize -> {Automatic, 
               Dynamic[
               3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification]), ImageSizeCache -> {27., {0., 10.}}]}, Frame -> 
             True, FrameTicks -> None, FrameStyle -> Directive[
               Thickness[Tiny], 
               GrayLevel[0.55]]], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Signature: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  RowBox[{
                    RowBox[{"{", "\"Integer64\"", "}"}], "\[Rule]", 
                    "\"Integer64\""}], "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            GraphicsBox[
             InsetBox[
              FormBox[
               StyleBox["\"Code\"", 
                GrayLevel[0.7], Bold, 8., StripOnInput -> False], 
               TraditionalForm], {0, 0}], Background -> GrayLevel[0.93], Axes -> 
             False, AspectRatio -> 1, ImageSize -> {Automatic, 
               Dynamic[
               3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification]), ImageSizeCache -> {27., {0., 10.}}]}, Frame -> 
             True, FrameTicks -> None, FrameStyle -> Directive[
               Thickness[Tiny], 
               GrayLevel[0.55]]], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Signature: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  RowBox[{
                    RowBox[{"{", "\"Integer64\"", "}"}], "\[Rule]", 
                    "\"Integer64\""}], "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  CompiledCodeFunction[
   Association[
   "Signature" -> TypeSpecifier[{"Integer64"} -> "Integer64"], "Input" -> 
    Function[{
       Typed[$CellContext`n, "Integer64"]}, 
      With[{$CellContext`fib = Typed[
          KernelFunction[$CellContext`FibonacciNumber], {"Integer64"} -> 
          "Integer64"]}, 
       If[$CellContext`n > 2, 
        If[Mod[$CellContext`n, 2] === 0, $CellContext`fib[
           Quotient[$CellContext`n, 2]] (
          2 $CellContext`fib[
            Quotient[$CellContext`n, 2] + 1] - $CellContext`fib[
           Quotient[$CellContext`n, 2]]), $CellContext`fib[
           Quotient[$CellContext`n - 1, 2] + 1]^2 + $CellContext`fib[
            Quotient[$CellContext`n - 1, 2]]^2], 1]]], "ErrorFunction" -> 
    Automatic, "orcInstance" -> 756102720, "orcModuleId" -> 0, 
    "targetMachineId" -> 373136512], 81858520, 81858544, 81858528, 
   "{\"Integer64\"} -> \"Integer64\""],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellChangeTimes->{3.754332120882249*^9},
 CellLabel->"Out[25]=",ExpressionUUID->"755913b0-1411-4c16-b7e1-ed9f4c2dedcc"]
}, Open  ]],

Cell[BoxData["Quit"], "Input",
 CellChangeTimes->{{3.7543327428542995`*^9, 3.7543327433663025`*^9}},
 CellLabel->"In[8]:=",ExpressionUUID->"f63c68a1-1e8f-46b5-ade8-4603b16600b7"],

Cell[BoxData[
 RowBox[{"ClearAll", "[", "FibonacciNumber", "]"}]], "Input",
 CellChangeTimes->{{3.7543327464583187`*^9, 3.754332755430908*^9}},
 CellLabel->"In[1]:=",ExpressionUUID->"87458a64-c31c-475c-a737-68897406d04c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FibonacciNumber", "=", 
  RowBox[{"FunctionCompile", "@", 
   RowBox[{"Function", "[", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"Typed", "[", 
       RowBox[{"n", ",", "\"\<Integer64\>\""}], "]"}], "}"}], ",", 
     RowBox[{"With", "[", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"fib", "=", 
         RowBox[{"Typed", "[", 
          RowBox[{
           RowBox[{"KernelFunction", "[", "FibonacciNumber", "]"}], ",", 
           RowBox[{
            RowBox[{"{", "\"\<Integer64\>\"", "}"}], "\[Rule]", 
            "\"\<Integer64\>\""}]}], "]"}]}], "}"}], ",", 
       RowBox[{"If", "[", 
        RowBox[{
         RowBox[{"n", ">", "2"}], ",", 
         RowBox[{"If", "[", 
          RowBox[{
           RowBox[{
            RowBox[{"Mod", "[", 
             RowBox[{"n", ",", "2"}], "]"}], "===", "0"}], ",", 
           RowBox[{
            RowBox[{"fib", "[", 
             RowBox[{"Quotient", "[", 
              RowBox[{"n", ",", "2"}], "]"}], "]"}], "*", 
            RowBox[{"(", 
             RowBox[{
              RowBox[{"2", "*", 
               RowBox[{"fib", "[", 
                RowBox[{
                 RowBox[{"Quotient", "[", 
                  RowBox[{"n", ",", "2"}], "]"}], "+", "1"}], "]"}]}], "-", 
              RowBox[{"fib", "[", 
               RowBox[{"Quotient", "[", 
                RowBox[{"n", ",", "2"}], "]"}], "]"}]}], ")"}]}], ",", 
           RowBox[{
            RowBox[{
             RowBox[{"fib", "[", 
              RowBox[{
               RowBox[{"Quotient", "[", 
                RowBox[{
                 RowBox[{"n", "-", "1"}], ",", "2"}], "]"}], "+", "1"}], 
              "]"}], "^", "2"}], "+", 
            RowBox[{
             RowBox[{"fib", "[", 
              RowBox[{"Quotient", "[", 
               RowBox[{
                RowBox[{"n", "-", "1"}], ",", "2"}], "]"}], "]"}], "^", 
             "2"}]}]}], "]"}], ",", "1"}], "]"}]}], "]"}]}], 
    "]"}]}]}]], "Input",
 CellChangeTimes->{{3.7543327606649323`*^9, 3.7543327701361036`*^9}},
 CellLabel->"In[2]:=",ExpressionUUID->"8407466d-732c-41a3-b194-a0e383a4a733"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["CompiledCodeFunction",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    TemplateBox[{PaneSelectorBox[{False -> GridBox[{{
            GraphicsBox[
             InsetBox[
              FormBox[
               StyleBox["\"Code\"", 
                GrayLevel[0.7], Bold, 8., StripOnInput -> False], 
               TraditionalForm], {0, 0}], Background -> GrayLevel[0.93], Axes -> 
             False, AspectRatio -> 1, ImageSize -> {Automatic, 
               Dynamic[
               3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification]), ImageSizeCache -> {27., {0., 10.}}]}, Frame -> 
             True, FrameTicks -> None, FrameStyle -> Directive[
               Thickness[Tiny], 
               GrayLevel[0.55]]], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Signature: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  RowBox[{
                    RowBox[{"{", "\"Integer64\"", "}"}], "\[Rule]", 
                    "\"Integer64\""}], "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            GraphicsBox[
             InsetBox[
              FormBox[
               StyleBox["\"Code\"", 
                GrayLevel[0.7], Bold, 8., StripOnInput -> False], 
               TraditionalForm], {0, 0}], Background -> GrayLevel[0.93], Axes -> 
             False, AspectRatio -> 1, ImageSize -> {Automatic, 
               Dynamic[
               3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification]), ImageSizeCache -> {27., {0., 10.}}]}, Frame -> 
             True, FrameTicks -> None, FrameStyle -> Directive[
               Thickness[Tiny], 
               GrayLevel[0.55]]], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Signature: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  RowBox[{
                    RowBox[{"{", "\"Integer64\"", "}"}], "\[Rule]", 
                    "\"Integer64\""}], "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  CompiledCodeFunction[
   Association[
   "Signature" -> TypeSpecifier[{"Integer64"} -> "Integer64"], "Input" -> 
    Function[{
       Typed[$CellContext`n, "Integer64"]}, 
      With[{$CellContext`fib = Typed[
          KernelFunction[$CellContext`FibonacciNumber], {"Integer64"} -> 
          "Integer64"]}, 
       If[$CellContext`n > 2, 
        If[Mod[$CellContext`n, 2] === 0, $CellContext`fib[
           Quotient[$CellContext`n, 2]] (
          2 $CellContext`fib[
            Quotient[$CellContext`n, 2] + 1] - $CellContext`fib[
           Quotient[$CellContext`n, 2]]), $CellContext`fib[
           Quotient[$CellContext`n - 1, 2] + 1]^2 + $CellContext`fib[
            Quotient[$CellContext`n - 1, 2]]^2], 1]]], "ErrorFunction" -> 
    Automatic, "orcInstance" -> 40137136, "orcModuleId" -> 0, 
    "targetMachineId" -> 367778624], 173739992, 173740016, 173740000, 
   "{\"Integer64\"} -> \"Integer64\""],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellChangeTimes->{3.7543327818611603`*^9},
 CellLabel->"Out[2]=",ExpressionUUID->"d7386377-4bb5-4d24-b299-626506ea1a69"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FibonacciNumber", "[", "30", "]"}]], "Input",
 CellChangeTimes->{{3.754332786399174*^9, 3.7543327872711773`*^9}},
 CellLabel->"In[3]:=",ExpressionUUID->"13dcf36a-8b1f-4b9b-aaee-2e6f3824370f"],

Cell[BoxData["832040"], "Output",
 CellChangeTimes->{3.754332787657182*^9},
 CellLabel->"Out[3]=",ExpressionUUID->"ec7a27b6-804a-4180-bb06-865b9c94a10e"]
}, Open  ]]
}, Open  ]]
},
WindowSize->{1920, 997},
WindowMargins->{{-8, Automatic}, {Automatic, -8}},
FrontEndVersion->"12.0 for Microsoft Windows (64-bit) (December 18, 2018)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[580, 22, 163, 3, 44, "Subsubsection",ExpressionUUID->"a4eb0c1c-2033-4be6-9253-3084e64890f6"],
Cell[CellGroupData[{
Cell[768, 29, 294, 5, 28, "Input",ExpressionUUID->"ab665732-c6be-442c-9ce4-df5828719298"],
Cell[CellGroupData[{
Cell[1087, 38, 223, 4, 23, "Echo",ExpressionUUID->"99170153-22d2-4aee-985d-317ca1b8e43a"],
Cell[1313, 44, 228, 3, 23, "Echo",ExpressionUUID->"5459d541-f907-4fec-9b66-b88f4463d7d4"],
Cell[1544, 49, 235, 4, 23, "Echo",ExpressionUUID->"9fd063f6-c2ae-4383-b377-cf868ee562fa"],
Cell[1782, 55, 226, 4, 23, "Echo",ExpressionUUID->"ef3945b7-425d-4f3f-a311-dbb919ef6331"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[2057, 65, 294, 5, 28, "Input",ExpressionUUID->"602a1416-fec5-4d45-8bb1-427210bf1ed0"],
Cell[CellGroupData[{
Cell[2376, 74, 242, 3, 23, "Echo",ExpressionUUID->"0bd2839e-72de-40f5-ad44-aee4b0eb6547"],
Cell[2621, 79, 255, 4, 23, "Echo",ExpressionUUID->"b8d8a8fb-682d-41f7-974e-0f2b3483094e"],
Cell[2879, 85, 257, 4, 23, "Echo",ExpressionUUID->"9a1e394d-c8a1-4fc0-a096-4e0a18b96d1e"],
Cell[3139, 91, 250, 4, 23, "Echo",ExpressionUUID->"57855327-79e5-4ad1-a865-e7fd5b7088cc"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[3450, 102, 163, 3, 44, "Subsubsection",ExpressionUUID->"176f6b00-cd6f-41bd-a0f9-0c2b79560646"],
Cell[CellGroupData[{
Cell[3638, 109, 1015, 25, 28, "Input",ExpressionUUID->"f032900e-ad74-4f54-82c6-444bf2dcf086"],
Cell[4656, 136, 25722, 429, 218, "Output",ExpressionUUID->"44085f83-7932-4d23-bfa0-a0d3b173fa69"]
}, Open  ]],
Cell[CellGroupData[{
Cell[30415, 570, 298, 5, 28, "Input",ExpressionUUID->"0304bc95-4fb5-4db7-828f-2a70aada6f55"],
Cell[30716, 577, 758, 13, 32, "Output",ExpressionUUID->"ef6da90b-dc13-4c45-b93a-dfac026b2e1b"]
}, Open  ]],
Cell[31489, 593, 249, 4, 28, "Input",ExpressionUUID->"4e74e9cf-df6c-40f1-8372-ace52c2592fb"],
Cell[CellGroupData[{
Cell[31763, 601, 650, 11, 28, "Input",ExpressionUUID->"0658b934-b431-4d4f-a78d-5c416ce5d1ec"],
Cell[32416, 614, 618, 10, 32, "Output",ExpressionUUID->"276f83d3-204b-4164-afde-4a14b89a1d2a"]
}, Open  ]],
Cell[CellGroupData[{
Cell[33071, 629, 267, 4, 28, "Input",ExpressionUUID->"bdb2e258-c37d-4036-8729-a2e96781ec66"],
Cell[33341, 635, 289, 4, 32, "Output",ExpressionUUID->"8cfbd190-97ac-49bf-97f1-04e43c12ce39"]
}, Open  ]],
Cell[CellGroupData[{
Cell[33667, 644, 295, 5, 28, "Input",ExpressionUUID->"c6f29f36-fdad-4d01-8482-a16b12f58a96"],
Cell[33965, 651, 295, 5, 36, "Output",ExpressionUUID->"ff5fd3b0-fb8b-4a9c-80c1-d3cbed6ab251"]
}, Open  ]],
Cell[CellGroupData[{
Cell[34297, 661, 182, 2, 28, "Input",ExpressionUUID->"88ace989-69d9-4d19-951e-313bbf84643d"],
Cell[34482, 665, 4905, 101, 64, "Output",ExpressionUUID->"d7a08c45-6a7a-4e92-94b1-d862c74130ee"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[39436, 772, 164, 3, 44, "Subsubsection",ExpressionUUID->"ef5beb5a-0bba-42f3-b883-5e7acd5774f2"],
Cell[39603, 777, 254, 4, 28, "Input",ExpressionUUID->"a729341c-b52a-4742-8d91-4f608c34759b"],
Cell[39860, 783, 511, 12, 28, "Input",ExpressionUUID->"0ddbe859-0f7a-47d9-b91a-091902fb9735"],
Cell[40374, 797, 510, 12, 28, "Input",ExpressionUUID->"371a1051-f9fd-4ecd-a546-b9c18fedae6f"],
Cell[40887, 811, 515, 12, 28, "Input",ExpressionUUID->"2f36dcc3-daac-4bbb-9193-a59a7c048ec9"],
Cell[41405, 825, 514, 12, 30, "Input",ExpressionUUID->"7b053310-302b-4136-bb96-87f5325cca11"],
Cell[CellGroupData[{
Cell[41944, 841, 204, 3, 28, "Input",ExpressionUUID->"0227d360-0ef6-4e7b-a59c-c93359c1a8c4"],
Cell[42151, 846, 150, 2, 32, "Output",ExpressionUUID->"d84f1110-f4a1-4ee1-9916-a7bb01692c0f"]
}, Open  ]],
Cell[CellGroupData[{
Cell[42338, 853, 201, 3, 28, "Input",ExpressionUUID->"217b5c68-b456-47de-858f-2a3a2d3a630e"],
Cell[42542, 858, 152, 2, 32, "Output",ExpressionUUID->"f8a2b2f3-87ad-46d0-adc7-b364b700172e"]
}, Open  ]],
Cell[CellGroupData[{
Cell[42731, 865, 226, 4, 28, "Input",ExpressionUUID->"356cc51d-89e0-408f-a764-8595bccb2d72"],
Cell[42960, 871, 395, 9, 21, "Message",ExpressionUUID->"d17e4b02-d014-4853-a17d-195713b9996a"],
Cell[43358, 882, 4680, 93, 69, "Output",ExpressionUUID->"35403541-8349-49ec-a333-8d845b6dcfe4"]
}, Open  ]],
Cell[CellGroupData[{
Cell[48075, 980, 221, 4, 28, "Input",ExpressionUUID->"2d61553f-b036-4125-a135-5012f90054a9"],
Cell[48299, 986, 258, 4, 32, "Output",ExpressionUUID->"190ae926-2e36-4961-9ffd-868e3b04eb5b"]
}, Open  ]],
Cell[CellGroupData[{
Cell[48594, 995, 548, 9, 28, "Input",ExpressionUUID->"f601443e-2254-4215-821b-67fcd4fee646"],
Cell[49145, 1006, 469, 8, 32, "Output",ExpressionUUID->"879ee4ba-efce-469b-9531-1d5c6b6ddea1"]
}, Open  ]],
Cell[CellGroupData[{
Cell[49651, 1019, 2085, 57, 67, "Input",ExpressionUUID->"a8427a1f-ef68-4c65-879e-1746e01b63b9"],
Cell[51739, 1078, 4781, 99, 64, "Output",ExpressionUUID->"755913b0-1411-4c16-b7e1-ed9f4c2dedcc"]
}, Open  ]],
Cell[56535, 1180, 178, 2, 28, "Input",ExpressionUUID->"f63c68a1-1e8f-46b5-ade8-4603b16600b7"],
Cell[56716, 1184, 221, 3, 28, "Input",ExpressionUUID->"87458a64-c31c-475c-a737-68897406d04c"],
Cell[CellGroupData[{
Cell[56962, 1191, 2116, 56, 86, "Input",ExpressionUUID->"8407466d-732c-41a3-b194-a0e383a4a733"],
Cell[59081, 1249, 4784, 99, 64, "Output",ExpressionUUID->"d7386377-4bb5-4d24-b299-626506ea1a69"]
}, Open  ]],
Cell[CellGroupData[{
Cell[63902, 1353, 215, 3, 28, "Input",ExpressionUUID->"13dcf36a-8b1f-4b9b-aaee-2e6f3824370f"],
Cell[64120, 1358, 153, 2, 32, "Output",ExpressionUUID->"ec7a27b6-804a-4180-bb06-865b9c94a10e"]
}, Open  ]]
}, Open  ]]
}
]
*)

